package com.frxuexi.lib_base.utils

import android.graphics.Bitmap
import android.graphics.Color
import com.google.zxing.BarcodeFormat
import com.google.zxing.qrcode.QRCodeWriter

object SimpleQRCode {
    /**
     * 生成简单二维码
     * @param content 内容（文本/URL）
     * @param size 宽高（正方形）
     */
    fun generate(content: String, size: Int): Bitmap? {
        return try {
            // 配置参数（字符编码+容错）
            // 生成二维码矩阵
            val matrix = QRCodeWriter().encode(content, BarcodeFormat.QR_CODE, size, size, null)
            // 转成Bitmap（黑白色）
            val bitmap = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888)
            for (x in 0 until size) {
                for (y in 0 until size) {
                    bitmap.setPixel(x, y, if (matrix[x, y]) Color.BLACK else Color.WHITE)
                }
            }
            bitmap
        } catch (e: Exception) {
            e.printStackTrace()
            null // 生成失败返回null
        }
    }
}